#ifndef _ASYN_FILE_H_
#define _ASYN_FILE_H_

interface IReadFile : public IBase
{
	std_method(LoadFile)(const TCHAR* pszLoadFile,
		unsigned long ulwDesiredAccess,
		unsigned long ulShareMode,
		unsigned long ulCreationDisposition,
		unsigned long ulFlagsAndAttributes)													=	0;
	std_method(CloseFile)()																	=	0;
	std_method_(os_int64, GetFileSize)()													=	0;
	std_method(ReadBuffer)(char* szBuffer, os_int64 ulReadFileLen, os_int64* ulReadSize)	=	0;
	std_method(AsynReadBuffer)(const char* szNodeName,char* szNodeInfo)						=	0;
};

_DEFINE_IID(IReadFile, "{9DF32AD9-2C96-446C-B4D4-EC88AFF8A5F9}");


interface IWriteFile : public IBase
{

	std_method(LoadFile)(const TCHAR* pszLoadFile,
		unsigned long ulwDesiredAccess,
		unsigned long ulShareMode,
		unsigned long ulCreationDisposition,
		unsigned long ulFlagsAndAttributes)													=	0;
	std_method(CloseFile)()																	=	0;
	std_method_(os_int64, GetFileSize)()													=	0;
	std_method(WriteBuffer)(char* szBuffer, os_int64 ulWriteSize)							=	0;
	std_method(AsynWriteBuffer)(char* szBuffer, os_int64 ulWriteSize)						=	0;
};
_DEFINE_IID(IWriteFile, "{6F7C433A-D7C5-4EFB-A525-701A675D7382}");


#endif